home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs19.d81
/
slides.sda
/
TITLE CREATOR
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2009-10-10
|
4KB
|
126 lines
90 SS$=" "
100 IF A=0THENA=1:GOTO 710
110 GOTO1050
120 R=1-R:PRINTR$(R)A$R$(1-R)L$;:GOSUB190:GOTO120
130 MC=MC+1:IFMC>300THENGOSUB1140:MC=0:NC=NC+1:IFNC>3THENNC=0
140 IFMC>219THENRETURN
150 Z8=V:Z9=H:V=24:H=0:GOSUB600:PC=INT(MC):PRINTR$(1);
160 IFPC<39THENPRINTSPC(39-PC)LEFT$(M$(NC),PC);:GOTO180
170 PRINTLEFT$(LEFT$(MID$(M$(NC),PC-38),39)+SS$,39);
180 V=Z8:H=Z9:GOSUB600:RETURN
190 GETK$:IFK$=""THEN130
200 MC=210:IFNC=3THENNC=1
210 IFK$=""ORK$="[145]"ORK$=""ORK$="[157]"THENKB$=K$:J$="":GOTO470
220 IFK$="[147]"THENJ$="":GOTO1230
230 IFASC(K$)=13ANDK$<>J$THENH=0:GOSUB600:GOSUB560:GOSUB610:J$=K$:RETURN
240 IFASC(K$)=13THENRETURN
250 IFASC(K$)=34THENK$="'"
260 IFASC(K$)=20THENK$="[157]"
270 IFK$=""ANDK$<>J$THENH=0:V=0:GOSUB600:GOSUB560:GOSUB610:J$=K$:RETURN
280 IFK$=""THENRETURN
290 IFASC(K$)=8THENMC=0:NC=2:GOTO190
300 IFASC(K$)=141ANDK$<>J$THENH=39:V=23:GOSUB600:GOSUB560:GOSUB610
305 IFASC(K$)=141ANDK$<>J$THENJ$=K$:RETURN
310 IFASC(K$)=141THEN RETURN
320 IFASC(K$)=148THEN RETURN
330 IFASC(K$)=12 THEN POKE53272,23:RETURN
340 IFASC(K$)=21 THEN POKE53272,21:RETURN
350 J$="":IFK$="[133]"THEN GOSUB 1250:GOSUB630:RETURN
360 IFK$="[134]"THENJ=1-J:GOSUB1150:GOTO530
370 IFK$="[135]"THENK=1-K:GOSUB1150:RETURN
380 IFK$="[136]"THENGOSUB1250:K$=A$
390 IFK$="[137]"THEN GOSUB1250:POKE53280,(PEEK(53280)AND15)+1:RETURN
400 IFK$="[138]"THEN GOSUB1250:POKE53281,(PEEK(53281)AND15)+1:RETURN
410 IFK$="[139]"THENGOSUB1250:GOTO840
420 IFK$="[140]"THENPRINTO$B$;:GOTO860
430 PRINTO$B$;:IFKTHENPRINTR$;
440 PRINTK$O$;
450 GOSUB560:GOSUB620:IFV>23THENPRINTL$;:GOTO450
460 RETURN
470 IFKB$=""ANDH<39THENH=H+1:GOTO540
480 IFKB$=""ANDH<39THENH=H+1:GOTO540
490 IFKB$="[157]"ANDH>0THENH=H-1:GOTO540
500 IFKB$=""ANDV<23THENV=V+1:GOTO540
510 IFKB$="[145]"ANDV>0THENV=V-1:GOTO540
520 RETURN
530 IFJ=0THENK=0
540 GOSUB600:GOSUB560:IFJTHENCH=YR:CO=CR
550 GOSUB610:RETURN
560 V1=PEEK(214):H1=PEEK(211)
570 IFH1>39THENH1=H1-40:GOTO570
580 IFV1>24THENV1=V1-25:GOTO580
590 V=V1:H=H1:C=V*40+H+1024:CH=PEEK(C):CO=PEEK(C+54272):RETURN
600 POKE781,V:POKE782,H:POKE783,0:SYS 65520:RETURN
610 POKECL,HL:POKECL+54272,OL:IFKTHENIFHL<128THENPOKECL,HL+128
620 CL=C:HL=CH:OL=CO:RETURN
630 GOSUB1140:Z3=V:Z4=H:V=24:H=0:GOSUB600
635 PRINT"PRESS NEW CURSOR CHARACTER.[146]";
640 GETK$:IFK$=""THEN640
650 GETKB$:IFKB$<>""THEN650
660 IFASC(K$)>127ANDASC(K$)<161THENK$=A$
670 IFASC(K$)<35THENK$=A$
680 A$=K$:V=Z3:H=Z4:GOSUB1150
690 Z1=V:Z2=H:V=24:H=1:GOSUB600:PRINTO$A$;:YR=PEEK(1985):CR=PEEK(56257)
700 V=Z1:H=Z2:GOSUB600:POKE1985,32:RETURN
710 POKE56,32:POKE644,32:CLR
715 A$="[166]":B$=" [157]":L$="[157]":R$="":O$="[146]":POKE650,128
720 POKE53280,6:POKE53281,12:POKE646,0
730 DIMQ$(1):Q$(0)="PRESS Y KEY TO DESTROY THIS SCREEN![146]"
740 Q$(1)="PRESS Y KEY TO SAVE THIS SCREEN.[146]":QQ=0
750 DIMM$(3):M$(0)="*SCREEN CREATOR* M. KERYAN --- PRESS CONTROL "
760 M$(0)=M$(0)+"H FOR HELP. USE ALL CHARACTER KEYS, SYMBOLS, CURSOR KEYS"
770 M$(0)=M$(0)+", ETC. AS USUAL. "
780 M$(2)="F1:SELECT CURSOR CHAR. F3:TOGGLE DRAW MODE F5:TOGGLE REVER"
790 M$(2)=M$(2)+"SE MODE F7:PRINT CURSOR F2:BORDER COLOR F4:BACKGROUND"
800 M$(2)=M$(2)+" COLOR F6:LOAD SCREEN F8:SAVE SCREEN "
810 DIM F$(1):F$(0)="<OFF>":F$(1)="<ON>":GOSUB1150
820 A=2:DIMR$(1):R$(0)="":R$(1)="[146]":PRINT"[147]";
830 J=0:K=0:F=0:H=0:V=0:GOSUB690:GOSUB560:GOSUB620:GOTO120
840 GOSUB1180:IFK$<>"Y"THEN1040
850 GOSUB1250:INPUT"[147]FILE NAME TO LOAD[146]";F$:LOAD F$,8,1
860 QQ=1:GOSUB1180:IFK$="Y"THEN880
870 GOTO1040
880 GOSUB1140:V=24:H=0:GOSUB600:PRINT"NOW SAVING SCREEN, PLEASE WAIT.[146]";
890 FORI=1024TO1700:POKEI+23552,PEEK(I):NEXTI
900 GOSUB1140
910 FORI=1701TO2047:POKEI+23552,PEEK(I):NEXTI
920 GOSUB1250:FORI=55296TO56319:POKEI-29696,PEEK(I):NEXTI
930 GOSUB1250:POKE26624,PEEK(53280)
935 POKE26625,PEEK(53281):POKE26626,PEEK(53272)
940 GOSUB1140:V=24:H=0:GOSUB600:PRINT"FILE NAME FOR THIS SCREEN?[146]";
950 F$=""
960 GETK$:IFK$=""THEN960
970 GOSUB1250
975 IFK$=CHR$(20)ANDLEN(F$)>0THENPRINTL$B$;:F$=LEFT$(F$,LEN(F$)-1)
980 IFK$=CHR$(20)THEN960
990 IFK$<>CHR$(13)THENF$=F$+K$:PRINTK$;:GOTO960
1000 GOSUB1250:CLOSE15:OPEN15,8,15:PRINT#15,"I0"
1010 GOSUB1250:CLOSE2:OPEN2,8,2,F$+",P,W"
1020 GOSUB1250:PRINT#2,CHR$(0);CHR$(96);
1030 GOSUB1250:FORI=24576TO26626:PRINT#2,CHR$(PEEK(I));:NEXTI
1040 GOSUB1250:CLOSE2:CLOSE15:GOSUB1140:H=0:V=0:GOSUB600:GOTO830
1050 GOSUB1250:FORI=1024TO2047:POKEI,PEEK(I+23552):NEXTI
1060 GOSUB1250:FORI=55296TO56319:POKEI,PEEK(I-29696):NEXTI
1070 GOSUB1250:POKE53280,PEEK(26624)
1075 POKE53281,PEEK(26625):POKE53272,PEEK(26626)
1080 GOSUB1250:H=0:V=24:GOSUB600:PRINT"PRESS ANY KEY TO CONTINUE......[146]";
1090 POKE198,0:FORI=1TO200:GOSUB1250
1100 GETK$:IFK$<>""THENGOSUB1140:GOTO830
1110 NEXTI:GOSUB1140
1120 GETK$:GOSUB1250:IFK$=""THEN1120
1130 GOTO830
1140 GOSUB1250:POKE781,24:SYS59903:POKE781,V:RETURN
1150 M$(1)="DRAW MODE = "+F$(J)+" REVERSE MODE = "
1155 M$(1)=M$(1)+F$(K)+" CURSOR CHAR = "+A$
1160 M$(1)=M$(1)+" ":M$(1)=M$(1)+M$(1)
1170 M$(3)=M$(1):GOSUB1250:RETURN
1180 Z1=V:Z2=H:GOSUB1140:V=24:H=0:GOSUB600:GOSUB560:GOSUB610
1190 PRINTQ$(QQ);:QQ=0:POKE198,0
1200 GETK$:IFK$=""THENGOSUB1250:GOTO1200
1210 IFLEFT$(K$,1)="Y"THENK$="Y"
1220 RETURN
1230 GOSUB1180:IFK$="Y"THENRUN
1240 GOTO1040
1250 G=54272:POKEG+24,15:POKEG+1,110:POKEG+5,9:POKEG+6,9:POKEG+4,17
1260 POKEG+4,16:RETURN